Storage System Managing Method and Computer System

ABSTRACT

A management server includes the user management segment information having stored therein a volume managed by a user, a receiving unit for receiving a volume allocation request from a management computer, a sending unit for sending the volume allocation request to a storage system and an updating unit for updating the user management segment information based on the information on the allocated volume received from the storage system. The storage system includes a unit for receiving the volume allocation request from the management server, and based on the volume allocation request, allocating the volume from the unallocated volume that can be allocated by all the users.

INCORPORATION BY REFERENCE

The present application claims priority from Japanese application JP 2004-144644 filed on May 14, 2004, the content of which is hereby incorporated by reference into this application.

BACKGROUND

It is related with a technique for managing at least a storage system, or in particular to a technique for setting a volume for each user of the storage system.

With the computerization of the intra-company data, the information amount has increased and the intra-company data management cost is ever on the increase. In other words, the companies harbor the problems of an increased cost due to an unpredictable increase in the amount of data, a ramification of complicated data management tools and the shortage of the installation space. As a result, the practice has widespread to entrust the data management to a SSP (storage service provider), etc. The SSP provides the service by which a plurality of companies share a storage system.

With regard to the sharing of a storage system, JP-A-2003-330622 (hereinafter referred to as Patent Reference 1) discloses a method in which a general administrator of a computer system allocates the volume of the storage system to each user (individual administrator) and sets the right of each user to access the allocated volume. In this way, each user can perform the operation of altering the configuration such as the allocation or release of the volume for each computer used by the user within the framework of the volume accessible by the user. JP-A-2002-222061 (hereinafter referred to as Patent Reference 2), on the other hand, discloses a method in which the storage pool management on a storage system is realized so that the volume is created from the pool in response to a volume allocation request and allocated to each computer.

A management interface is available for the user to allocate a volume of capacity which the user requires from storage pool to the computer without resorting to the storage system manufacturer or vendor.

As described in SNIA Storage Management Initiative Specification version 1.0.1 (pp. 178 to 220, pp. 233 to 270), Sep. 12, 2003, Storage Network Industry Association, <URL>http://www.snia.org/smi/tech_activities/smi_spec_pr/spe c/SMIS_v101.pdf, retrieved Jan. 9, 2004 (hereinafter referred to as Non-Patent Reference 1), for example, SNIA (Storage Networking Industry Association) is proceeding with the job of laying down the specification of the management interface of the storage system based on CIM (Common Information Model) and WBEM (Web-Based Enterprise Management) defined by DMTF (Distributed Management Task Force). This specification is disclosed in SMI-S (Storage Management Initiative Specification).

In the case where the general administrator of the computer system allocates the volume of the storage system to each user (individual administrator), it is difficult to predict the volume capacity used by each user. This may cause the shortage or the overage of the volume allocated to each user. As a result, the utilization rate of the volume of the storage system as a whole would be reduced and the TCO (total cost of ownership) of the storage system would increase. Also, the general administrator is required to monitor the current utilization of the volume allocated to each user and, in the case where the volume runs short or excessive, adjust or redistribute the already-allocated volumes among the users. This imposes a considerable work load on the general administrator. Nevertheless, Patent Reference 1 fails to take this point into consideration.

In the case where a plurality of users each allocate the volume of the storage system to an arbitrary computer, on the other hand, each user accesses or alters the configuration of the volume allocated by the particular user. Specifically, in the case where each user accesses the volume allocated by him/her, it is troublesome to display all the volumes allocated by all the users. Also, a security problem is posed if each user is in a position to alter the configuration of the volume allocated by other users. This point, however, is not taken into consideration by Patent Reference 2.

SUMMARY

This invention has been achieved in view of this situation, and the object thereof is to provide a technique where each user can make the most of the volume of the storage system by allocating a required volume.

In order to achieve the object described above, according to one aspect of the invention, there is provided a computer system and a storage system managing method, wherein the unallocated volume accessible from all the users is generated in the storage system, and a user allocates the volume required anew, if any, from the unallocated volume. The management right of the user is set in the volume allocated to the computer by the user.

The storage system managing method comprises the steps of: having the user management information constituting the information on a user and the volume which is set the management right of that user; receiving from an external system a volume allocation request including the information on a user and a computer to allocate; allocating the volume to the computer from the unallocated volume of the storage system adapted to be allocated by all the users, in response to a volume allocation request; and registering in the user management information the volume allocated in the allocation step as a volume managed by the user contained in the user information.

The above and other objects, features and advantages will be made apparent by the detailed description taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram showing a computer system according to a first embodiment of the invention.

FIGS. 2A and 2B are diagrams for explaining the configuration of the allocated volume management information and the unallocated volume management information, respectively.

FIGS. 3A and 3B are diagrams for explaining the configuration of the user management segment information.

FIG. 4 is a diagram showing an example of the user management segment information setting screen.

FIGS. 5A to 5C are diagrams showing an example of various screens output to the management computer.

FIG. 6 is a diagram schematically showing the volume allocation process.

FIG. 7 is a flowchart showing the volume allocation process.

FIGS. 8A to 8C are diagrams showing an example of the user management segment information, the allocated volume management information and the unallocated volume management information.

FIG. 9 is a flowchart showing the process for displaying the volume release screen.

FIG. 10 is a flowchart showing the volume release process.

FIG. 11 is a schematic diagram showing a computer system according to a second embodiment of the invention.

FIGS. 12A and 12B are diagrams for explaining the configuration of the allocated volume integrated management information and the unallocated volume integrated management information.

FIG. 13 is a diagram for explaining the configuration of the user management segment information.

FIG. 14 is a flowchart showing the volume allocation process.

FIGS. 15A to 15C are diagrams showing an example of the user management segment information, the allocated volume integrated management information and the unallocated volume integrated management information.

FIG. 16 is a flowchart showing the process for displaying the volume release screen.

DETAILED DESCRIPTION OF THE EMBODIMENTS

An embodiment is explained below.

According to this embodiment, the volume is allocated or released by the management interface of the storage system using CIM and WBEM. CIM is a management model for a computer system defined by DMTF, not dependent on the particular implementation of the hardware or vendor. The entity to be managed is expressed as an instance having the information on the attribute and functions of each object of management using CIM. The instance for allocation of the volume from unallocated volume and release of the volume to unallocated volume is managed in the namespace called NameSpace. In other words, a volume allocation request is issued to the target namespace. WBEM, on the other hand, is a method of realizing the system management using CIM defined by DMTF. Specifically, WBEM is a mechanism in which the information on the CIM instance is described in the XML language and transmitted on HTTP. The standard specification of the storage management interface based on the technique of CIM and WBEM is disclosed in SMI-S.

First Embodiment

FIG. 1 a schematic diagram showing a computer system according to a first embodiment. As shown in FIG. 1, the computer system according to this embodiment comprises a plurality of computers A301, B302, a storage system 101, a plurality of management computers 400 and a management server 500. The computers A301, B302 and the storage system 101 are connected to each other through a fibre channel switch 200. The computers A301, B302 and the storage system 101 are connected to the fibre channel switch 200 using a fibre channel 10. The management computers 400 are connected to the management server 500, and the management server 500 is connected to the storage system 101, by dedicated communication lines 20, 30, respectively, different from the fibre channel 10. The dedicated communication lines 20, 30 may be a network such as the internet.

The computers A301, B302 are devices for conducting a predetermined job using the data stored in the storage system 101. The computers A301, B302 each include a memory 320 for storing a program and the information required to execute the program, a CPU 310 for executing the program on the memory 320 and a fibre channel interface 330 for communication with the storage system 101. The program, the information required to execute the program and the data generated by execution of the program are stored in or acquired from the volume of the storage system 101 allocated to each of the computers A301, B302 by the CPU 310 through the fibre channel interface 330. The computers A301, B302 may each include, though not shown, an input device such as a keyboard and a mouse and an output device such as a display.

The storage system 101 is a device for storing the data and the program used by the computers A301, B302. The storage system 101 includes two fibre channel interfaces 130, a network interface 150 for communication with the management computers 400, a memory 120 for storing the program and the information required to execute the program, a CPU 110 for executing the program held by the memory 120, a hard disk drive unit 112 providing a physical medium and a controller 115 for controlling at least one hard disk drive unit 112. The controller 115 controls at least one hard disk drive unit 112 as a redundant RAID (redundancy array of inexpensive disks). The controller 115 thus controls a part or the whole of RAID as a logical volume.

The memory 120 has stored therein a volume allocation program 134 for allocating the volume from the unallocated volume in response to a volume allocation request and connecting to the fibre channel interface 130. The memory 120 also has stored therein the allocated volume management information 180 and the unallocated volume management information 185 described later. These programs and information are stored in a medium such as a hard disk drive unit 112. At the time of starting the storage system 101, the CPU 110 executes the programs loaded from the medium to the memory 120 thereby to implement the various functions described later.

The management server 500 is a device for managing the storage system 101. The management server 500 includes a network interface 550 for communication with the storage system 101, a network interface 555 for communication with the management computers 400, a memory 520 for storing a program and the information required to execute the program, a CPU 510 for executing the program held by the memory 520, an output device 590 such as a display for displaying the process of executing the program and a request designating screen used by the general administrator managing the computer system and an input device 580 for inputting a request instruction of the general administrator.

The memory 520 has stored therein a request receiver program 138 for receiving the request from the management computers 400, a user authority control program 132 for analyzing the request received by the request receiver program 138 and identifying the user who has issued the request thereby to execute the process, a use management segment setting program 136 for registering the allocated volume in the management segment of the requesting user and the user management segment information 160 described later. These programs are stored in a medium such as a hard disk drive unit not shown, and the CPU 510 executes these programs loaded from the medium to the memory 520. In this way, the various functions described later are implemented.

According to this embodiment, the CPU 510 of the management server 500 executes the request receiver program 138, the user authority control program 132 and the user management segment setting program 136. Nevertheless, this invention is not limited to the configuration of such a computer system. For example, the computer system may not include the management server 500 but the storage system 101 may have the function of the management server 500. Specifically, the memory 120 of the storage system 101 further includes the programs 138, 132, 136 and the user management information 160 of the management server 500 shown in the drawing, and these programs may be executed by the CPU 110 of the storage system 101.

The management computer 400 is a device for the user to allocate or release the volume of the storage system 101. The user manipulates the management computers 400 and manages the storage system 101. The management computers 400 each include a network interface 450 for communication with the management server 500, a memory 420 for storing a program and the information required to execute the program, a CPU 410 for executing the program held by the memory 420, an output device 490 such as a display for displaying a request designating screen and the process of executing the program and an input device 480 for inputting the request designation of the user. Also, the memory 420 has stored therein a request sender program 423 for generating an allocation request or a release request. The CPU 410 implements the function of sending the request to the storage system 101 by executing the request sender program 423 stored in the memory 420.

According to this embodiment, a plurality of management computers 400 are included to meet a situation in which SSP provides the service to a plurality of users (companies). Specifically, each user operates a management computer 400 unique to him/her. Nevertheless, this invention is not limited to this case, but a plurality of users may share one management computer 400.

According to this embodiment, the CPU 410 of the management computer 400 executes the request sender program 423. Nevertheless, the present invention is not limited to this. For example, the computer system may not include the management computer 400, but the management server 500 may have the function of the management computer 400. Specifically, the memory 520 of the management server 500 further includes the request sender program 423 of the management computer 400, and the CPU 510 of the management server 500 executes this program.

Next, the volume of the storage system 101 is explained.

The volume of the storage system 101 is an area for storing the data and the programs and set on the hard disk drive unit 112. The volume is roughly divided into an allocated volume and an unallocated volume (storage pool). The allocated volume is connected to the fibre channel interface 130 by the controller 115 and accessible by the computer A301 or B302. The unallocated volume, on the other hand, is not connected to the fibre channel interface 130 by controller 115 and inaccessible by the computers A301 and B302.

As the result of executing the volume allocation program 134, the allocated volume is set in the allocated volume management information 180 and the unallocated volume in the unallocated volume management information 185 for management.

FIG. 2 shows an example of the allocated volume management information 180 and the unallocated volume management information 185. The allocated volume management information 180 shown in FIG. 2A includes a volume number 181, a volume capacity 182 and a computer 183. The volume number 181 is for identifying the volume set on the hard disk drive unit 112. The volume capacity 182 is that of the corresponding volume number 181. The ID information for identifying the computer to which the corresponding volume is allocated is set in the computer 183. According to this embodiment, the “computer A” or the “computer B” is set in the computer 183 for convenience sake. The identifier called WWN (World Wide Name) may alternatively be set in the computer 183. WWN is an identifier used by the fibre channel interface 130 of the storage system 101 to identify the fibre channel interface 330 of a particular computer from which the access is made.

The unallocated volume management information 185 shown in FIG. 2B, on the other hand, includes a volume number 186 and a volume capacity 187. The volume number 186 is the number for identifying the unallocated volume set on the hard disk drive unit 112. The volume capacity 187, on the other hand, is that of the corresponding unallocated volume number 186. In this embodiment, a general administrator manages the unallocated volume.

The total of the volume capacity 182 of the allocated volume management information 180 plus the volume capacity 187 of the unallocated volume management information 185 constitute the total volume capacity held by the storage system 101. Also, the unallocated volume management information 185 may include a threshold column not shown in which a predetermined volume capacity is set as a threshold. In the case where the unallocated volume capacity 187 is decreased below a predetermined volume capacity set in the threshold column, the storage system 101 outputs a signal indicating that the unallocated volume capacity 187 has decreased below the threshold to the management computer 400 or the output device 490, 590 of the management server 500 and thus can notify the user or the general administrator.

Next, an explanation is given about the user management segment information 160 defining the management segment for each user. The user management segment information 160 is stored in the memory 520 of the management server 500.

FIG. 3A is a diagram showing an example of the user management segment information 160. The user management segment information 160 includes, for each user managing the volume of the storage system 101, a user ID 161, a password 162, a namespace 163 indicating the segment managed by the user, an unallocated volume number 164 available for use, an allocated volume number 165, an allocated volume capacity 166, a computer 167 and a limit volume capacity information 168 indicating the maximum volume capacity that can be allocated to the computer for each user.

An example of the namespace 163 is NameSpace defined in CIM. According to this embodiment, a different namespace is set for a different user. The user having the user ID 161 of “A”, for example, uses the namespace “N-A”, and the user having the user ID 161 of “B” uses the namespace “N-B”. The allocated volume management information 180 of the storage system 101 and the volume number stored in the unallocated volume management information 185 are registered (set) in the unallocated volume number column 164 and the allocated volume number column 165. In other words, the volume number 181 of the allocated volume management information 180 is registered in the allocated volume number column 165. This indicates that the user has allocated the volume to his/her computer from the unallocated volume set in the unallocated volume number column 164. As the result of setting the volume number in the allocated volume number column 165, the user's management right is set in the particular volume thereby to exclude the configuration change or access by other users.

The specific example shown in FIG. 3A indicates that the user having the user ID 161 of “A” (hereinafter referred to as “the user A”) and the user having the user ID 161 of “B” (hereinafter referred to as “the user B”) can use the volume of the unallocated volume number 164 of “80”. It also indicates that the user A manages the volume having the volume number 165 of “91” and the user B the volume having the volume number 165 of “93”.

The limit volume capacity information 168 is not essential to the user management segment information 160. By setting the segment available for use by the user in the limit volume capacity information 168 in advance, however, the monopoly of the unallocated volume by a specific user is prevented.

Next, an explanation is given about the user management segment information setting screen displayed on the output device 590 of the management server 500 to permit the general administrator to set the user management segment information 160.

FIG. 4 is a diagram showing an example of the user management segment information setting screen 610. The setting screen 610, as shown in FIG. 4, includes a user ID field 611 for inputting the ID of the user managing the volume, a password field 613 for inputting a password, a namespace field 615 for inputting a namespace, an unallocated volume field 617 for inputting the unallocated volume number available for use by the user, a maximum allocation limit volume capacity field 619 for inputting the maximum volume capacity that can be allocated by the user, and a setting button 612 for receiving the instruction to update the user management segment information 160 based on the information input to these fields. In the case where the user C is newly added to the user management segment information 160 (FIG. 3A), for example, the general administrator inputs the information as shown in FIG. 4 using the input device 580 and depresses the setting button 612. Upon depression of the setting button 612, the CPU 510 executes the user ID authority control program 132. Thus, the value input to each field is received and the user management segment information 160 is updated.

FIG. 3B is a diagram showing an example of the user management segment information 160 thus updated. As shown in FIG. 3B, the information on the user C input on the setting screen 610 of FIG. 4 is added. Specifically, the added user C can allocate the volume using the unallocated volume “80” of the storage system 101, and the maximum volume capacity that can be allocated is 100 GB.

The general administrator of this computer system sets in advance the unallocated volume usable by each user and the maximum volume capacity allocable using the user management segment information setting screen 610. As a result, each user can use the required volume capacity from the unallocated storage capacity thus set. In this way, the volume of the storage system 101 as a whole can be effectively utilized.

Next, an explanation is given about various screens used to give an instruction to the management server 500 from the control computers 400.

First, the communication between the control computers 400 and the management server 500 based on WBEM is conducted by exchanging the message described in XML (eXtensible Markup Language) using HTTP (Hyper Transfer Protocol). In the process, in order to maintain the security of communication between the control computers 400 and the management server 500, the HTTP Basic authentication is carried out. Specifically, each time a request is issued from the control computer 400, the management server 500 carries out the HTTP Basic authentication using the user ID and the password. The authentication may be conducted alternatively using HTTP MD5 or HTTPS (Hyper Transfer Protocol Security). According to this embodiment, the control computers 400 input the required items such as user ID and the password from the log-in screen before volume allocation or release by the user.

FIG. 5A shows an example of the log-in screen 640 displayed on the output device 490 of the management computers 400. The log-in screen 640 includes a request destination field 641 for inputting the device to which various requests are issued, a namespace field 643 for inputting the namespace set for the user, a user ID field 645 for inputting the ID of the particular user, a password field 647 for inputting the password, a button 642 for displaying the allocation screen for allocating the volume, and a button 644 for displaying the screen for releasing the volume.

In the shown example, the device name “management server 500” is input in the request destination field 641. Nevertheless, the IP address assigned to the network interface 555 of the management server 500 may alternatively be input in the same field. Also, this embodiment includes the management server 500 for managing the storage system 101, and therefore the management server 500 is input in the request destination field 641. In the case where the storage system 101 shares the function of the management server 500, however, the information of the IP address assigned to the network interface 150 of the storage system 101 or “storage system 101” is input in the request destination field 641.

The log-in screen 640 is displayed on the output device 490 by the CPU 410 executing the request sender program 423 stored in the memory of the management computer 400. Also, the CPU 410 receives the information (including the instructions) input by the user to each input field of the log-in screen 640 using the input device 480, and based on the information thus received, produces a request message. The CPU 410 then sends the request message to the management server 500 input in the request destination field 641 through the network interface 450. The CPU 410 holds in the memory 420 the user ID, the password and the namespace input through the log-in screen 640. The CPU 410 sends the user ID, the password and the namespace thus stored in the memory 420, together with the request message, based on the information received on the volume allocation screen or the release screen described later.

Next, the volume allocation screen is explained. Upon depression of the allocation screen display button 642 on the log-in screen 640, the CPU 410 sends the request message to the management server 500. Upon complete authentication by the management server 500, the CPU 410 displays the volume allocation screen 620 shown in FIG. 5B on the output device 490.

The volume allocation screen 620 shown in FIG. 5B includes, as shown, a field 621 for inputting the volume-allocating computer, a field 623 for inputting the volume capacity to be allocated and an allocation button 622 for giving an allocation instruction.

Next, the volume release screen is explained. Upon depression of the release screen display button 644 on the log-in screen 640, the CPU 410 sends the request message to the designated management server 500. Upon complete user authentication by the management server 500, the CPU 410 displays the volume release screen 630 shown in FIG. 5C on the output device 490. The volume release screen is used also as a screen for displaying a list of volumes allocated to each user.

The volume release screen 630 shown in FIG. 5C includes the allocated volume list information 631 for displaying the volume managed by the user (the user A in the shown case) input to the user ID 645 of the log-in screen 640, a select field 633 for selecting the volume to be released, and a release button 632 for giving a release instruction. The list information 631 includes a volume number 636, a volume capacity 637 and a computer 638. Only the allocated volume information of the namespace (“N-A” in the shown case) input to the namespace 643 on the log-in screen 640 is displayed in the list information 631 included in the user management segment information 160 (FIG. 3). In the case of the user B, on the other hand, the information on the allocated volume of the namespace “N-B” is displayed in the list information 631.

The release screen 630 may also include a display portion 635 for displaying the ratio of the volume capacity already allocated that represents the limit volume capacity of the user, as auxiliary information. The total of the volume capacity 637 divided by the capacity of the limit volume capacity information 190 of the user management segment information 160 can be displayed on the display portion 635.

Next, an explanation is given about the general process executed by the user A for allocating the volume to the computer A301.

FIG. 6 is a diagram schematically showing the computer system of FIG. 1. The user management segment information 160 shown in FIG. 3A is stored in the memory 520 of the management server 500, and the allocated volume management information 180 shown in FIG. 2A and the unallocated volume management information 185 shown in FIG. 2B are stored in the memory 120 of the storage system 101. Specifically, the allocated volume 91 is allocated to the computer A301 through the fibre channel interface 130, and the allocated volume 93 to the computer B302 through the fibre channel interface 130. The management segment 162 shown in FIG. 6 schematically shows the namespace “N-A” associated with the unallocated volume 80 and the allocated volume 91 which the user A has the right to access. The management segment 164, on the other hand, schematically shows the namespace “N-B” associated with the unallocated volume 80 schematically and the allocated volume 93 which the user B has the right to access. Under this condition, assume that a new volume is allocated by the user A to the computer A301. The management computer 400 receives the information input by the user A, through the volume allocation screen 620 shown in FIG. 5B, and sends to the management server 500 an allocation request made to the computer A (S601). The management server 500 reads the user management segment information 160 stored in the memory 520 and requests the storage system 101 to allocate the volume of the designated capacity from the usable unallocated volume 80 of the user A (S602). The storage system 101 allocates the volume 95 from the unallocated volume 80 and notifies the management server 500 (S603). The management server 500 registers the volume 95 in the management segment 162 of the user A (S604). In this way, the management server 500 updates the user management segment information 160 stored in the memory 520. As a result, the user A comes to have the right to manage the volume 95, which can no longer be accessed or changed in configuration by other users. The management server 500 issues a release screen display request shown in FIG. 5C from the management computer 400 by sending only the volumes 91, 95 in the management segment 162 of the user A (S605).

Thus, the user A can confirm only the volume managed by himself/herself on the release screen 630 (FIG. 5C) output to the output device 490 of the management computer 400. The volume 95, though newly allocated from the unallocated volume 80 shared by the user B, is registered in the management segment 162 of the user A and therefore cannot be accessed from the release screen 630 of the user B.

Next, the volume allocation process is explained in detail.

FIG. 7 is a flowchart showing the volume allocation process. Under the conditions of the user management segment information 160 shown in FIG. 3A, the allocated volume management information 180 shown in FIG. 2A and the unallocated volume management information 185 shown in FIG. 2B, take as an example a case in which the user A allocates the volume of 100 GB newly to the computer A301 using the management computer 400. The process of steps 1100 to 1115 is implemented by the CPU 410 of the management computer 400 executing the request sender program 423. The process of steps 1120 and 1125, on the other hand, is implemented by the CPU 510 of the management server 500 executing the request receiver program 138. The process of steps 1130 to 1155 is implemented by the CPU 510 of the management server 500 executing the user authority control program 132. The process of steps 1160 to 1165 is implemented by the CPU 110 of the storage system 101 executing the volume allocation program 134. The process of step 1170 is implemented by the CPU 510 of the management server 500 executing the user management segment setting program 136.

First, the user A gives a volume allocation instruction from the volume allocation screen 620 (FIG. 5B) displayed on the output device 490 of the management computer 400. The CPU 410 of the management computer 400 receives the allocation instruction input to the volume allocation screen 620 (step 1100). The CPU 410 acquires the information on the target computer and the volume capacity input by the user A using the input device 480 (step 1105). In this case, the CPU 410 acquires the information on the “computer A” 301 and “100 GB”. The CPU 410 produces a volume allocation request based on SMI-S (step 1110). The CPU 410 sends the volume allocation request to the management server 500 through the network interface 450 (step 1115). The volume allocation request sent by the CPU 410 also contains the user ID “A”, the password and the namespace “N-A” input on the log-in screen 640 (FIG. 5A).

The CPU 510 of the management server 500 receives the volume allocation request from the management computer 400 through the network interface 555 (step 1120), and delivers the received request to the user authority control program 132 (step 1125).

The CPU 510 acquires the user ID, the password and the namespace from the volume allocation request (step 1130). The CPU 510 authenticates the user A based on the user management segment information 160 stored in the memory 520 (step 1135). Specifically, the CPU 510 judges whether the user ID, the password and the namespace acquired are stored or not in the user management segment information 160. Once the authentication succeeds (YES in step 1135), the CPU 510 analyzes the request and judges whether the particular request is to request the volume allocation or not (step 1140). This request is produced by receiving the instruction from the volume allocation screen 620, and therefore the CPU 510 judges that the particular request is to request the volume allocation (YES in step 1140). The CPU 510 acquires the information on the target computer and the volume capacity from the request (step 1145). In this case, the CPU 510 acquires the information on the computer A301 and 100 GB.

Next, the CPU 510 calculates the total volume capacity of the allocated volume capacity 166 of the user A in the user management segment information 160 (FIG. 3A). The CPU 510 subtracts the calculated total volume capacity from the limit volume capacity information 168 in the user management segment information 160 and judges whether the resulting value is not less than the currently requested volume capacity (100 GB) or not (step 1150). In the user management segment information 160 shown in FIG. 3A, the limit volume capacity 168 is 200 GB and the total volume capacity of the allocated volume is 100 GB. Thus, the volume capacity of 100 GB remains to be allocated to the user A, and therefore the CPU 510 judges that the volume allocation request of 100 GB can be met (YES in step 1150). The CPU 510 sends the volume allocation request of 100 GB for the computer A301 to the storage system 101 through the network interface 550 (step 1155). In the case where the CPU 510 judges that the volume allocation request cannot be met (NO in step 1150), on the other hand, the CPU 510 sends the error information to the management computer 400 to the effect that the volume allocation is impossible. As a result, the user is informed that the volume allocation has ended in a failure.

The CPU 510 of the storage system 101 reads the unallocated volume management information 185 (FIG. 2B) stored in the memory 120, and judges whether the unallocated volume 80 has the volume capacity of 100 GB or not (step 1160). In the unallocated volume management information 185 shown in FIG. 2B, the unallocated volume capacity of 300 GB is available and therefore the CPU 110 judges the allocation is possible (YES in step 1160). The CPU 110 allocates the volume 95 of 100 GB from the unallocated volume 80 to the computer A301. The CPU 110 updates the allocated volume management information 180 and the unallocated volume management information 185 (step 1165). Specifically, the CPU 110, as shown in FIG. 8B, adds the newly allocated volume information 180 a to the allocated volume management information 180. Also, the CPU 110, as shown in FIG. 8C, updates the unallocated volume capacity 187 of the unallocated volume management information 185 to 200 GB. The CPU 110 notifies that the allocation of the volume 95 is complete to the user authority control program 132 of the management server 500 through the network interface 150.

In the case where the CPU 110 judges that the allocation is impossible (NO in step 1160), the CPU 110 sends to the management server 500 the error information to the effect that the unallocated volume capacity is insufficient. The CPU 510 of the management server 500 sends the particular error information to the management computer 400. As a result, the user is informed that the volume allocation has ended in a failure.

Next, the CPU 510 of the management server 500 receives the notification that the allocation is complete from the storage system 101 and executes the user management segment setting program 136 thereby to update the user management segment information 160 (step 1170). Specifically, the CPU 510 sets the newly allocated volume 95, 100 GB and the computer A in the allocated volume number 165, the volume capacity 166 and the computer 167, respectively, as shown in FIG. 8A. The CPU 510 executes the request receiver program 138 and thus sends the notification that the allocation request is complete to the management computer 400 through the network interface 555.

By this volume allocation process, the volume 95 is newly allocated to the namespace “N-A” as a management segment of the user A. As a result, the right of the user A to access the volume 95 is set. Thus, the volume 95 can no longer be accessed by the user B but can be managed and used exclusively by the user A.

Next, an explanation is given about the process of displaying the release screen 630 (FIG. 5C) on the output device 490 of the management computer 400.

FIG. 9 is a flowchart showing the display process of the release screen 630. Take as an example a case in which the release screen 630 is displayed under the conditions of the user management segment information 160 shown in FIG. 8A, the allocated volume management information 180 shown in FIG. 8B and the unallocated volume management information 185 shown in FIG. 8C. Also, the process of steps 1400 to 1420 and step 1465 is implemented by the CPU 410 of the management computer 400 executing the request sender program 423. The process of steps 1425 and 1430 is implemented by the CPU 510 of the management server 500 executing the request receiver program 138. In similar fashion, the process of steps 1435 to 1460 is implemented by the CPU 510 of the management server 500 executing the user authority control program 132.

First, the CPU 410 of the management computer 400 receives the instruction to display the release screen 630 from the log-in screen 640 output to the output device 490 (step 1400). The CPU 410 acquires the value input by the user A to the input field of the log-in screen 640 using the input device 480 (step 1405), and judges that the release screen display button 644 has been depressed (step 1410). The CPU 410 produces a request based on SMI-S to acquire the volume information managed by the user input in ID field 645 of the log-in screen 640 (step 1415). The CPU 410 sends the volume information acquisition request thus produced to the management server 500 through the network interface 450 (step 1420). The volume information acquisition request also contains the user ID, the password and the namespace input on the log-in screen 640.

Next, the CPU 510 of the management server 500 receives the request from the management computer 400 through the network interface 555 (step 1425). The CPU 510 delivers the request thus received to the user authority control program 132 (step 1430).

The CPU 510 acquires the user ID, the password and the namespace from the request received (step 1435). The CPU 510 authenticates the user A, like in step 1135 shown in FIG. 7, using the user management segment information 160 stored in the memory 520 (step 1140). Upon successful authentication (YES in step 1440), the CPU 510 analyzes the request and judges whether the particular request is to acquire the volume information managed by the user A (step 1445). This request is produced by receiving the instruction upon depression of the release screen display button 644 on the log-in screen 640, and therefore the CPU 510 judges that the particular request is to acquire the volume information (YES in step 1445).

The CPU 510 acquires the volume numbers 91 and 95 managed in the namespace “N-A” by the user A from the user management segment information 160 (step 1450). The CPU 510 acquires the volume capacity of each volume number acquired and the information on the computer from the user management segment information 160 (step 1455). The CPU 510 sends the acquired volume information to the management computer 400 through the network interface 555 (step 1460).

Next, the CPU 410 of the management computer 400 acquires the volume information managed by the user A from the management server 500, produces the allocated volume list information 631 of the release screen 630 shown in FIG. 5C and displays it on the output device 490 (step 1465).

By this process, only the information on the volume (namespace) managed by each user is displayed on the screen 630 for releasing the volume of each user.

Next, the volume release process is explained.

FIG. 10 is a flowchart showing the volume release process. Consider a case in which the user A executes the process for releasing the volume 91 allocated to the computer A301 using the release screen 630. The process of steps 1200 to 1215 is implemented by the CPU 410 of the management computer 400 executing the request sender program 423. The process of steps 1220 and 1225 is implemented by the CPU 510 of the management computer 500 executing the request receiver program 138. The process of steps 1230 to 1250 is implemented by the CPU 510 of the management computer 500 executing the user authority control program 132. The process of step 1255 is implemented by the CPU 110 of the storage system 101 executing the volume allocation program 134. The process of step 1260 is implemented by the CPU 510 of the management server 500 executing the user management segment setting program 136.

First, the CPU 410 of the management computer 400 receives a release instruction from the release screen 630 output to the output device 490 (step 1200). The CPU 410 acquires the value input by the user A in the input field of the release screen 630 using the input device 480 (step 1205). The CPU 410 produces an input volume release request based on SMI-S (step 1210). The CPU 410 sends the release request thus produced to the management server 500 through the network interface 450 (step 1215). The release request also contains the information on the user ID, the password and the namespace input on the log-in screen 640.

Next, the CPU 510 of the management server 500 receives the request from the management computer 400 through the network interface 555 (step 1220). The CPU 510 delivers the received request to the user authority control program 132 (step 1225).

The CPU 510 acquires the user ID, the password and the namespace from the received request (step 1230). The CPU 510 authenticates the user A, like in step 1135 shown in FIG. 7, using the user management segment information 160 stored in the memory 520 (step 1235). Upon successful authentication (YES in step 1235), the CPU 510 analyzes the request and judges whether the particular request is to release the volume managed by the user A (step 1240). This request is produced by receiving the instruction from the release screen 630, and therefore the CPU 510 judges that the particular request is to release the volume (YES in step 1240). The CPU 510 acquires the desired release volume number 91 from the request (step 1245). The CPU 510 requests, through the network interface 550, the storage system 101 to release the volume 91 and to return the released volume to an unallocated volume 80 (step 1250).

Next, the CPU 110 of the storage system 101 releases the volume 91 allocated to the computer A301, and updates the allocated volume management information 180 and the unallocated volume management information 185 (step 1255). Specifically, the CPU 110 reads the allocated volume management information 180 (FIG. 8B) stored in the memory 120, and deletes the row of the volume 91. Also, the CPU 110 updates the volume capacity of the unallocated volume management information 185 to 300 GB. The CPU 110 notifies the user authority control program 132 of the management server 500 through the network interface 150 that the volume 91 has been released completely.

Next, the CPU 510 of the management server 500 receives the notification on the volume release from the storage system 101, and executes the user management segment setting program 136 thereby to update the user management segment information 160 (step 1260). Specifically, the CPU 510 deletes the volume 91 allocated to the user A from the user management segment information 160 shown in FIG. 8A. The CPU 510 executes the request receiver program 138 and thus notifies the management computer 400 through the network interface 555 that the volume is completely released as requested. As a result, the CPU 410 of the management computer 400 outputs to the output device 490 the release screen 630 from which the volume 91 has been deleted.

This volume release process permits each user to release the volume as required even in the case where the volume is allocated as his/her management segment. As a result, it is not necessary to manage volume which each user stopped using and thus can make the most of the volume of the storage system as a whole.

Second Embodiment

A second embodiment is explained below.

FIG. 11 is a schematic diagram showing a computer system according to a second embodiment. The computer system shown in FIG. 11 is different in the points described below from the counterpart according to the first embodiment shown in FIG. 1. First, the computer system according to this embodiment is different from that of the first embodiment in that the computer system according to this embodiment comprises a plurality of storage systems including a storage system A101 and a storage system B102. The storage systems A101, B102 have a similar configuration to the storage system A101 explained above with reference to FIG. 1.

The management server 500 according to this embodiment controls the allocation and the release of the volume of a plurality of the storage systems A101, B102. Therefore, the management server 500 is required to acquire the information on the volume of the plurality of the storage systems A101, B102 for centralized management. The management server 500 according to this embodiment, therefore, is different from the counterpart of the first embodiment in that the memory 120 includes the allocated volume integrated management information 180A and the unallocated volume integrated management information 185A.

FIG. 12A shows an example of the allocated volume integrated management information 180A. As shown in FIG. 12A, the allocated volume integrated management information 180A includes a volume number 181, a storage system 184, a volume capacity 182 and a computer 183. The ID information for identifying the storage systems 101, 102 is set in the storage system 184. According to this embodiment, the “storage system A” or the “storage system B” is set in the storage system 184.

FIG. 12B shows an example of the unallocated volume integrated management information 185A. As shown in FIG. 12B, the unallocated volume integrated management information 185A includes a volume number 186, a storage system 188 and an unallocated volume capacity 187. The ID information for identifying the storage systems 101, 102 is set in the storage system 188. Also, the unallocated volume capacity for each storage system is set in the unallocated volume capacity 187.

According to this embodiment, the volume number “80” is set in the integrated volume of the unallocated volumes of the storage systems A101 and B102. Nevertheless, different volume numbers may be set and managed in the volumes of the storage systems A101 and B102. Also, two or more unallocated volume are allocated to a different user, and each user may be able to use the unallocated volume(s). According to this embodiment, the volume is allocated at the request of the user by using the unallocated volumes of the storage systems A101 and B102 alternately (but, it is used for the beginning from the storage system A101) as far as the volume capacity remains not insufficient.

According to this embodiment, after a volume is released, the particular volume is returned to the unallocated volume management information 185. Nevertheless, the computer system may be so configured that even after the volume is released, the particular volume may not be returned to the unallocated volume management information 185 but only the user (management computer) that has allocated and released the particular volume can access or alter the configuration.

Next, FIG. 13 shows an example of the user management segment information 160 according to this embodiment. As shown in FIG. 13, this user management segment information 160 is different from the user management segment information 160 according to the first embodiment shown in FIGS. 3A and 3B in that the user management segment information 160 according to this invention lacks the volume capacity 166, the computer 167 and the volume capacity limit information 168. The absence of the volume capacity limit information 168 permits each user to freely use the unallocated volume. Also, according to this embodiment, the namespace is not set for each user but the volume allocated to each user is accessible in a common namespace “N”.

Next, the volume allocation process according to this embodiment is explained.

FIG. 14 is a flowchart showing the volume allocation process. As an example, take a case in which the user A allocates the volume of 100 GB anew to the computer A301 using the management computer 400 under the conditions of the user management segment information 160 shown in FIG. 13, the allocated volume integrated management information 180A shown in FIG. 12A and the unallocated volume integrated management information 185A shown in FIG. 12B. The process of steps 1300 to 1310 and steps 1330 and 1355 is implemented by the CPU 510 of the management server 500 executing the user authority control program 132. The process of steps 1315 to 1325 and steps 1350 and 1360 is implemented by the CPU 110 of the storage systems 101, 102 executing the volume allocation program 134. Similarly, the process of step 1335 is implemented by the CPU 510 of the management server 500 executing the user management segment setting program 136.

First, the management computer 400 and the management server 500, though not shown, execute the process of steps 1100 to 1135 in the volume allocation flowchart shown in FIG. 7. Upon successful user authentication, the CPU 510 of the management server 500 analyzes the request sent from the management computer 400 and judges that the particular request is for volume allocation (step 1300). The CPU 510 acquires the information on the target computer and the volume capacity from this request (step 1305). In this case, the CPU 510 acquires “computer A” and “100 GB”. The CPU 510 sends the volume allocation request to the storage system A101 through the network interface 550 (step 1310). According to this embodiment, the volume is allocated by using the unallocated volume of the storage system A101 and the unallocated volume of the storage system B102 alternately with each other. In this case, assume that the next unallocated volume to be used is that of the storage system A101.

Next, the CPU 110 of the storage system A101 reads the unallocated volume management information 185 (FIG. 2B) stored in the memory 120 and judges whether the requested volume capacity (100 GB) is larger than the unallocated volume capacity 187 or not (step 1315). In this case, the volume capacity of 300 GB is assumed to be set in the unallocated volume capacity 187 as shown in FIG. 2B. Thus, the CPU 110 judges that the allocation is possible (YES in S1315), and allocates the volume 95 of 100 GB to the computer A301 thereby to update the allocated volume management information 180 and the unallocated volume management information 185 (step 1320). The CPU 110 sends the updated allocated volume management information 180 and the updated unallocated volume management information 185 to the user authority control program 132 of the management server 500 (step 1325).

Next, the CPU 510 of the management server 500 receives the updated allocated volume management information 180 and the updated unallocated volume management information 185. The CPU 510, based on these information, updates the allocated volume integrated management information 180A and the unallocated volume integrated management information 185A as shown in FIGS. 15B and 15C (step 1330). The CPU 510 executes the user management segment setting program 136 thereby to update the user management segment information 160 (step 1335). Specifically, the CPU 510 adds 95 to the allocated volume number 165 of the user A as shown in FIG. 15A. The CPU 510 executes the request receiver program 138, and notifies the management computer 400 through the network interface 555 that the allocation request is completed.

In the case where the unallocated volume capacity 187 is smaller than the requested volume capacity (NO in step 1315), on the other hand, the CPU 110 notifies the user authority control program 132 of the management server 500 that the allocation is impossible (step 1350). The CPU 510 of the management server 500 receives the notification that the allocation is impossible, and sends an allocation request to the storage system B102 of the unallocated volume next to be used (step 1355). The CPU 110 of the storage system B102 executes the process similar to step 1315.

As the result of this volume allocation process, the user A can allocate the volume 95 managed by the user A from the unallocated volume of the storage system A101 or the storage system B102. Thus, the right of the user A to manage the volume 95 is set in the volume 95, which cannot be accessed by the user B but can be managed and used by the user A exclusively.

Next, an explanation is given about the process of displaying the release screen 630 (FIG. 5C) on the output device 490 of the management computer 400 according to this embodiment.

FIG. 16 is a flowchart showing the process of displaying the release screen 630. Take as an example a case in which the release screen 630 of the user A is displayed under the conditions of the user management segment information 160 shown in FIG. 15A, the allocated volume integrated management information 180A shown in FIG. 15B and the unallocated volume integrated management information 185A shown in FIG. 15C. The process of steps 1500 and 1505 is implemented by the CPU 510 of the management server 500 executing the request receiver program 138. Also, the process of steps 1510 to 1535 is implemented by the CPU 510 of the management server 500 executing the user authority control program 132.

First, the CPU 510 of the management server 500 acquires a request from the management computer 400 through the network interface 555 by the process similar to the display process of steps 1400 to 1420 shown in FIG. 9 (step 1500). The CPU 510 delivers the received request to the user authority control program 132 (step 1505).

CPU 510 acquires the user ID, the password and the namespace from the received request (step 1510). The CPU 510 authenticates the user, in a way similar to step 1135 shown in FIG. 7, using the user management segment information 160 stored in the memory 520 (step 1515). Upon successful authentication (YES in step 1515), the CPU 510 analyzes the request and judges whether the particular request is to acquire the volume information managed by the user A (step 1520). This request is produced by receiving the instruction upon depression of the release screen display button 644 of the log-in screen 640. The CPU 510 thus judges that the particular request is to acquire the volume information (YES in step 1520).

The CPU 510 acquires the information on all the volumes managed in the namespace “N” from the user management segment information 160 (step 1525). In this case, the CPU 510 acquires the volume information of the volume numbers 91, 93, 95. The CUP 510 specifies (extracts) the volume numbers 91, 95 having the user ID and the password acquired in step 1510 (step 1530). Of the information on all the volumes in the namespace “N” acquired in step 1525, the CPU 510 sends only the information on the volume numbers 91, 95 to the management computer 400 through the network interface 555 (step 1535).

The CPU 410 of the management computer 400 acquires the information on the volume managed by the user A from the management server 500, produces the allocated volume list information 631 of the release screen 630 as shown in FIG. 5C, and displays it on the output device 490. As the result of this process, only the information on the volume managed by each user is displayed on the release screen 630 of the user.

The first and second embodiments are explained above.

According to the first and second embodiments, a common unallocated volume accessible (allocable) by a plurality of users is produced in the storage system. In the case where the user allocates a new volume, the required volume is allocated from the common unallocated volume, and the volume thus allocated is automatically registered as a management segment of the user having the right to manage the volume. As a result, each user can allocate the required volume and the utilization rate of the storage system is improved. Also, the user can make the most of the storage system.

Specifically, each user can effectively utilize the volume of the storage system by allocating the required volume. Also, the working load on the general administrator of the computer system can be reduced.

Also, the user allocates or releases his/her volume using the volume allocation screen 620 and the volume release screen 630 thereby to reduce the working load on the general administrator of the computer system. Specifically, the general administrator is not required to monitor the unallocated volume of the management segment managed by each user and to redistribute the management segment of each user in the case of overage or shortage. So, the general administrator can concentrate on the management of monitoring the unallocated volume in the whole storage system. Also, since the volume allocated to the user is registered in the user management segment information 160, the right of the user to manage is automatically set, and therefore the general administrator is not required to set the right of the user to manage the allocated volume in the allocated volume.

The user can access or alter only the volume allocated by him/her and can neither access nor alter the volume allocated by other users. As a result, in the case where one storage system (storage system 101) is used by a plurality of companies, for example, the specific allocation (volume management information) of the volume by the system administrator (user) of a company cannot be accessed by the administrators (users) of other companies. In this way, security is maintained.

This invention is not limited to the aforementioned embodiments but can be modified various ways without departing from the spirit of the invention.

In the first embodiment, for example, the provision of the limit volume capacity information 190 in the user management segment information 160 suppresses the monopoly of using the unallocated volume by a specific user. This invention, however, is not limited to this. For example, the monopoly of using the unallocated volume by a specific user may be suppressed by calculating the total volume capacity of the allocated volume in the management segment of each user and charging the user in accordance with the allocated total volume capacity. In a specific example, a user to which 1 GB is allocated is required to pay a predetermined amount (say, 10,000 yen) as a service charge per month.

The first embodiment comprises one storage system 101 in which the namespace is set for each user. The second embodiment, on the other hand, comprises a plurality of storage systems 101, 102, in which a common namespace is set for all the users. This invention is not limited to such cases, but a common namespace may be set for all the users with a single storage system 101, or the namespace may be set for each user with a plurality of storage systems 101, 102.

According to the first and second embodiments, the volume is allocated or released using the management interface of the storage system by CIM and WBEM. The invention, however, is not limited to this, but may use other management interfaces of the storage systems.

It should be further understood by those skilled in the art that although the foregoing description has been made on embodiments of the invention, the invention is not limited thereto and various changes and modifications may be made without departing from the spirit of the invention and the scope of the appended claims. 

1. A storage system management method for managing a volume held by a storage system to store data, the storage system having user management information storing information on a volume that can be allocated by each user, the method comprising the steps of: receiving a volume allocation request including information on a user and on a computer from an external system: allocating, based on said volume allocation request, a volume to said computer from the unallocated volume of said storage system that can be allocated by all the users; and registering the volume allocated in said user management information as a volume to be managed by the user of said user information. 